package cn.tedu.api;
/*本类用于测试包装类*/
public class TestNumber {
    //1.定义成员变量，注意要定义成静态的，因为静态只能调用静态
    static Integer i0;//成员变量不可以初始化
    public static void main(String[] args) {
        /*Integer包装类型默认值是null*/
        //2.打印i0进行测试
        System.out.println(i0);
        //3.创建int类型对应包装类型Integer方式一
        Integer i1 = new Integer(5);
        Integer i11 = new Integer(5);
        System.out.println(i1==i11);//false==比较的是地址值

        //4.创建int类型对应包装类型Integer方式二
        /*Integer有一个高效的效果（-128~127）
        * 在此范围内，相同的数据只会存一次，后续再存都是使用之前存过的数据*/
        Integer i2 = Integer.valueOf(127);
        Integer i3 = Integer.valueOf(127);
        System.out.println(i1==i2);//false，比较的是地址值
        System.out.println(i2==i3);//true，在高效范围内
        Integer i4 = Integer.valueOf(300);
        Integer i5 = Integer.valueOf(300);
        System.out.println(i4==i5);//false，超出高效范围

        //5.创建double类型对应包装类型Double方式
        Double d1 = new Double(3.14);
        Double d2 = Double.valueOf(3.14);
        Double d3 = Double.valueOf(3.14);
        System.out.println(d1==d2);//false
        /*只有Integer才有高效的效果*/
        System.out.println(d2==d3);//false

        //6.测试常用的方法
        /*原因：parseInt（）已经把字符串800转成了int类型的800，所有是运算而不是拼接*/
        System.out.println(i1.parseInt("800")+10);//810,执行了加法运算
        System.out.println(d1.parseDouble("2.2")+1);//3.2执行了加法运算





    }
}
